# 封装
class Account:
    # 普通属性
    bank = "BOC"
    # 保护属性（内部属性）
    _username = "Hogwarts"
    # 私有属性
    __password = "888"

    @property
    def password(self):
        return self.__password

    @password.setter
    def password(self,value):
        # 进行校验
        if len(value) >= 8:
            self.__password = value
        else:
            print("密码长度至少要有8位！")



# print(Account.bank)
# print(Account._username)
# print(Account.__password)

# 打印类的所有属性
# print(Account.__dict__)

# 实例化对象
obj = Account()

# 访问私有属性
print(obj.password)

# 修改私有属性（满足检验条件）
obj.password = "hogwarts666"
print(obj.password)

# 修改私有属性（满足检验条件）
obj.password = "123"
print(obj.password)




